package com.lggry.demo;

import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        // 目标：面向对象编程实现智能家居控制系统
        //角色：设备（吊灯，电视机，洗衣机，落地窗 ...）
        //具备的功能（开、关）
        //谁控制他们，只能控制系统（单例对象），控制调用设备的开和关
        //1.定义设备类，创建设备对象代表家里的设备
        //2.准备这些设备对象，放到数组中，代表整个家庭的设备
        Ele[] eles = new Ele[4];
        eles[0] = new Lamp("吊灯",true);
        eles[1] = new TV("电视机",true);
        eles[2] = new Wash("洗衣机",true);
        eles[3] = new Air("空调",true);

        //3.创建智能控制系统对象，控制设备开和关，定义一个接口，让ele实现开关功能
        //4.创建智能控制对象，控制设备开和关
        Control control = new Control();
        //5.控制电视机
        control.control(eles[0]);
        //6.提示用户操作 a.展示全部设备的当前情况.b.让用户选择哪一个操作
        //打印全部设备的开和关的现状
        while (true) {
            control.pressAllStatus(eles);
            System.out.println("请选择您要控制的设备：");
            Scanner sc = new Scanner(System.in);
            String command = sc.next();
            switch (command){
                case "1":
                    control.control(eles[0]);
                    break;
                case "2":
                    control.control(eles[1]);
                    break;
                case "3":
                    control.control(eles[2]);
                    break;
                case "4":
                    control.control(eles[3]);
                    break;
                case "exit":
                    System.out.println("退出系统");
                    return;
                default:
                    System.out.println("输入有误，请重新输入");
            }
        }
    }
}
